package top.caoayu.controller;

import org.springframework.stereotype.Component;
import top.caoayu.service.IMultipleService;

import javax.annotation.Resource;

/**
 * Author: caoxinyu
 * Date: 2023/8/25-13:52
 */
@Component
public class Multiple {
    /*
     * 首先实现类需要被 bean factory 管理，可以用 注解，xml，java配置类等。
     * 需要注入属性的主类也必须由 bean factory 管理，可以用 注解，xml，java配置类等。不能使用 new 的方式
     * 多个实现类，自动注入规则
     * 1. 先根据类型找，如果有多个，在根据接收变量名找
     * 2. 使用 @Primary 指定默认时使用哪个
     * 3. @Service("s") 指定 service名字，然后使用 @Resource(name="s") 指定
     * */
    @Resource(name = "multiple2Service")
    private IMultipleService multipleService;

    public String toEcho() {
        System.out.println(multipleService.echo());
        return multipleService.echo();
    }
}
